package com.yuyou.tas.lesson.vo.req;

import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * Created by yujin.liu on 2018/5/18.
 */
public class ReqAddOrUpdateClass {

    @ApiModelProperty(value = "id", required = false)
    private Long id;

    @ApiModelProperty(value = "课程 id", required = true)
    @NotNull(message="课程id (lessonId)不能为空")
    private Long lessonId;

    @ApiModelProperty(value = "主讲老师 ids", required = true)
    @NotBlank(message = "主讲老师ids (teacherIds) 不能为空")
    private String teacherIds;

    @ApiModelProperty(value = "班级名称", required = true)
    @NotBlank(message = "班级名称(className)不能为空")
    private String className;

    @ApiModelProperty(value = "校区 id", required = true)
    @NotNull(message = "校区id (baseSchoolId)不能为空")
    private Long baseSchoolId;

    @ApiModelProperty(value = "学期 id", required = true)
    @NotNull(message = "学期id (baseTrimesterId)不能为空")
    private Long baseTrimesterId;

    @ApiModelProperty(value = "开课日期", required = true)
    @NotNull(message = "开课日期(openTime)不能为空")
    private Date openTime;

    @ApiModelProperty(value = "结课日期", required = true)
    @NotNull(message = "结课日期(closeTime)不能为空")
    private Date closeTime;

/*    @ApiModelProperty(value = "上课时段", required = true)
    @NotEmpty(message = "上课时段(classPlanList)不能为空")
    private List<ReqClassPlan> classPlanList;*/

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getLessonId() {
        return lessonId;
    }

    public void setLessonId(Long lessonId) {
        this.lessonId = lessonId;
    }

    public String getTeacherIds() {
        return teacherIds;
    }

    public void setTeacherIds(String teacherIds) {
        this.teacherIds = teacherIds;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public Long getBaseSchoolId() {
        return baseSchoolId;
    }

    public void setBaseSchoolId(Long baseSchoolId) {
        this.baseSchoolId = baseSchoolId;
    }

    public Long getBaseTrimesterId() {
        return baseTrimesterId;
    }

    public void setBaseTrimesterId(Long baseTrimesterId) {
        this.baseTrimesterId = baseTrimesterId;
    }

    public Date getOpenTime() {
        return openTime;
    }

    public void setOpenTime(Date openTime) {
        this.openTime = openTime;
    }

    public Date getCloseTime() {
        return closeTime;
    }

    public void setCloseTime(Date closeTime) {
        this.closeTime = closeTime;
    }

}
